using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("SpawnToHandSpell")]
	public class SpawnToHandSpell : SuperSpell
	{
		public float m_CardStartScale => method_2<float>("m_CardStartScale");

		public float m_CardDelay => method_2<float>("m_CardDelay");

		public float m_CardStaggerMin => method_2<float>("m_CardStaggerMin");

		public float m_CardStaggerMax => method_2<float>("m_CardStaggerMax");

		public bool m_AccumulateStagger => method_2<bool>("m_AccumulateStagger");

		public bool m_Shake => method_2<bool>("m_Shake");

		public float m_ShakeDelay => method_2<float>("m_ShakeDelay");

		public ShakeMinionIntensity m_ShakeIntensity => method_2<ShakeMinionIntensity>("m_ShakeIntensity");

		public Spell m_SpellPrefab => method_3<Spell>("m_SpellPrefab");

		public SpawnToHandSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public SpawnToHandSpell(IntPtr address)
			: this(address, "SpawnToHandSpell")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public new void RemoveAllTargets()
		{
			method_8("RemoveAllTargets");
		}

		public new Card GetTargetCardFromPowerTask(int index, PowerTask task)
		{
			return method_14<Card>("GetTargetCardFromPowerTask", new object[2] { index, task });
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public Vector3 GetOriginForTarget(int targetIndex)
		{
			return method_11<Vector3>("GetOriginForTarget", new object[1] { targetIndex });
		}

		public void AddOriginForTarget(int targetIndex, Card card)
		{
			method_8("AddOriginForTarget", targetIndex, card);
		}

		public bool AddUniqueOriginForTarget(int targetIndex, Card card)
		{
			return method_11<bool>("AddUniqueOriginForTarget", new object[2] { targetIndex, card });
		}

		public string GetCardIdForTarget(int targetIndex)
		{
			return method_13("GetCardIdForTarget", targetIndex);
		}

		public void AddTransitionDelays()
		{
			method_8("AddTransitionDelays");
		}
	}
}
